import { Post } from '../../config.js'

class Api {
  /**
   * 捎货订单列表
   * @param {object} params 参数对象
   * @desc {string} acc_id 身份验证参数,登陆时返回
   * @desc {string} page 页码
   * @desc {string} page_size 每页个数
   * @desc {string} sort_field 排序字段
   * @desc {string} sort_type 0正序
   * @desc {string} search 查询数据
   * @desc {string} district 订单归属地(区域ID)
   * @desc {string} orderType 捎货类型
   * @desc {string} orderStatus 订单状态 1待付款2待应答 已付款3待取件4待收件5待确认6已完成7已取消
   * @desc {string} isShipping 是否指派捎货人(0:未指派,1:有指派)
   * @desc {string} orderStime 下单开始查询时间
   * @desc {string} orderEtime 下单结束查询时间
   * @desc {string} preSendStime 预计送达开始查询时间
   * @desc {string} preSendEtime 预计送达结束查询时间
   * @desc {string} receiveEtime 接单开始查询时间
   * @desc {string} receiveEtime 接单结束查询时间
   * @desc {string} sendStime 送达开始查询时间
   * @desc {string} sendEtime 送达结束查询时间
   * @return {promise} api
   */
  listOrder (params) {
    const data = {
      Copyright: 'v1',
      Interface: 'ShaoHuoOrder',
      Command: 'listOrder',
      Params: params
    }
    return Post(data)
  }
  /**
   * 捎货人列表
   * @param {object} params 参数对象
   * @desc {string} acc_id 身份验证参数,登陆时返回
   * @return {promise} api
   */
  shaohuoUserList (params) {
    const data = {
      Copyright: 'v1',
      Interface: 'ShaoHuoOrder',
      Command: 'shaohuoUserList',
      Params: params
    }
    return Post(data)
  }
  /**
   * 修改订单捎货人
   * @param {object} params 参数对象
   * @desc {string} acc_id 身份验证参数,登陆时返回
   * @desc {string} us_id 捎货人ID(修改为自由接单人时传0)
   * @desc {string} list_id 订单列表ID
   * @return {promise} api
   */
  modiShipping (params) {
    const data = {
      Copyright: 'v1',
      Interface: 'ShaoHuoOrder',
      Command: 'modiShipping',
      Params: params
    }
    return Post(data)
  }
  /**
   * 修改订单恢复自由接单
   * @param {object} params 参数对象
   * @desc {string} acc_id 身份验证参数,登陆时返回
   * @desc {string} us_id 捎货人ID(修改为自由接单人时传0)
   * @desc {string} list_id 订单列表ID
   * @return {promise} api
   */
  updateShipping (params) {
    const data = {
      Copyright: 'v1',
      Interface: 'ShaoHuoOrder',
      Command: 'updateShipping',
      Params: params
    }
    return Post(data)
  }
  /**
   * 取消订单
   * @param {object} params 参数对象
   * @desc {string} acc_id 身份验证参数,登陆时返回
   * @desc {string} uid 用户id
   * @desc {string} order_id 订单id
   * @return {promise} api
   */
  cancelOrder (params) {
    const data = {
      Copyright: 'v1',
      Interface: 'ShaoHuoOrder',
      Command: 'cancelOrder',
      Params: params
    }
    return Post(data)
  }
  /**
   * 订单数据导出
   * @param {object} params 参数对象
   * @desc {string} acc_id 身份验证参数,登陆时返回
   * @desc {string} page 页码
   * @desc {string} page_size 每页个数
   * @desc {string} sort_field 排序字段
   * @desc {string} sort_type 0正序
   * @desc {string} search 查询数据
   * @desc {string} district 订单归属地(区域ID)
   * @desc {string} orderType 捎货类型
   * @desc {string} orderStatus 订单状态
   * @desc {string} isShipping 是否指派捎货人(0:未指派,1:有指派)
   * @desc {string} orderStime 下单开始查询时间
   * @desc {string} orderEtime 下单结束查询时间
   * @desc {string} preSendStime 预计送达开始查询时间
   * @desc {string} preSendEtime 预计送达结束查询时间
   * @desc {string} receiveEtime 接单开始查询时间
   * @desc {string} receiveEtime 接单结束查询时间
   * @desc {string} sendStime 送达开始查询时间
   * @desc {string} sendEtime 送达结束查询时间
   * @return {promise} api
   */
  exportShaohuoOrder (params) {
    const data = {
      Copyright: 'v1',
      Interface: 'ShaoHuoOrder',
      Command: 'exportShaohuoOrder',
      Params: params
    }
    return Post(data)
  }
}

const ShaohuoOrdersService = new Api()
export default ShaohuoOrdersService
